rec->name = xstrdup(wpt->description);
if (!nogc && wpt->gc_data->id) {
- char* extra = (char*) xmalloc(25 + strlen(wpt->gc_data->placer) + strlen(wpt->shortname));
+ char* extra = (char*) xmalloc(25 + strlen(wpt->gc_data->placer.toUtf8().data()) + strlen(wpt->shortname));
sprintf(extra, "\r\nBy %s\r\n%s (%1.1f/%1.1f)",
- wpt->gc_data->placer,
+ wpt->gc_data->placer.toUtf8().data(),
wpt->shortname, wpt->gc_data->diff/10.0,
wpt->gc_data->terr/10.0);
rec->name = xstrappend(rec->name, extra);
"" : " (Disabled)",
wpt->gc_data->is_archived==status_true ?
" (Archived)" : "",
- wpt->gc_data->placer,
+ wpt->gc_data->placer.toUtf8().data(),
gs_get_cachetype(wpt->gc_data->type),
gs_get_container(wpt->gc_data->container),
wpt->gc_data->diff/10.0,
}
vdata += strlen(vdata) + 1;
- if (wpt->gc_data->hint) {
- char* hint = xstrdup(wpt->gc_data->hint);
+ if (!wpt->gc_data->hint.isEmpty()) {
+ char* hint = xstrdup(wpt->gc_data->hint.toUtf8().data());
rec->type = WptCache;
strncpy(vdata, hint, NOTESZ + 1) ;
xfree(hint);
field_is_unknown = wpt->gc_data->type == gt_unknown;
break;
case XT_GEOCACHE_HINT:
- writebuff(buff, fmp->printfc, NONULL(wpt->gc_data->hint));
- field_is_unknown = !wpt->gc_data->hint;
+ writebuff(buff, fmp->printfc, wpt->gc_data->hint.toUtf8().data());
+ field_is_unknown = !wpt->gc_data->hint.isEmpty();
break;
case XT_GEOCACHE_PLACER:
- writebuff(buff, fmp->printfc, NONULL(wpt->gc_data->placer));
- field_is_unknown = !wpt->gc_data->placer;
+ writebuff(buff, fmp->printfc, wpt->gc_data->placer.toUtf8().data());
+ field_is_unknown = !wpt->gc_data->placer.isEmpty();
break;
case XT_GEOCACHE_ISAVAILABLE:
if (wpt->gc_data->is_available == status_false) {
has_customcoords(status_unknown),
exported(0),
last_found(0),
- placer(NULL),
placer_id(0),
- hint(NULL),
- favorite_points(0),
- personal_note(NULL)
+ favorite_points(0)
{}
int id; /* The decimal cache number */
geocache_type type:5;
status_type has_customcoords:2;
time_t exported;
time_t last_found;
- char* placer; /* Placer name */
+ QString placer; /* Placer name */
int placer_id; /* Placer id */
- char* hint; /* all these UTF8, XML entities removed, May be not HTML. */
+ QString hint; /* all these UTF8, XML entities removed, May be not HTML. */
utf_string desc_short;
utf_string desc_long;
int favorite_points;
- char* personal_note;
+ QString personal_note;
};
typedef struct xml_tag {
}
if (wp->description) {
gbfputs(wp->description, fd);
- if (wp->gc_data->placer) {
- gbfprintf(fd, " by %s", wp->gc_data->placer);
+ if (!wp->gc_data->placer.isEmpty()) {
+ gbfprintf(fd, " by %s", wp->gc_data->placer.toUtf8().data());
}
gbfputc('\n', fd);
}
} else {
gbfprintf(fd, "/T%u\n", wp->gc_data->terr / 10);
}
- if (wp->gc_data->hint && !opt_hint_at_end) {
- gbfprintf(fd, "HINT: %s\n", wp->gc_data->hint);
+ if (!wp->gc_data->hint.isEmpty() && !opt_hint_at_end) {
+ gbfprintf(fd, "HINT: %s\n", wp->gc_data->hint.toUtf8().data());
}
if (!wp->gc_data->desc_short.utfstring.isEmpty() || !wp->gc_data->desc_long.utfstring.isEmpty()) {
gbfputs("DESC: ", fd);
gbfputc('\n', fd);
}
}
- if (wp->gc_data->hint && opt_hint_at_end) {
- gbfprintf(fd, "\nHINT: %s\n", wp->gc_data->hint);
+ if (!wp->gc_data->hint.isEmpty() && opt_hint_at_end) {
+ gbfprintf(fd, "\nHINT: %s\n", wp->gc_data->hint.toUtf8().data());
}
gbfputc(0, fd);
*notes_size = fd->memlen;
wpt_tmp->description = xstrappend(wpt_tmp->description,args);
s = xstrrstr(wpt_tmp->description, " by ");
if (s) {
- waypt_alloc_gc_data(wpt_tmp)->placer = xstrdup(s + 4);
+ waypt_alloc_gc_data(wpt_tmp);
+ wpt_tmp->gc_data->placer = xstrdup(s + 4);
if (nuke_placer) {
// Sleaze alert. We're casting away constness and writing into a string
return NULL;
}
- snprintf(tbuf, sizeof(tbuf), "\n%s by %s\n\n", gs_get_cachetype(wpt->gc_data->type), wpt->gc_data->placer);
+ snprintf(tbuf, sizeof(tbuf), "\n%s by %s\n\n", gs_get_cachetype(wpt->gc_data->type), wpt->gc_data->placer.toUtf8().data());
gs = xstrappend(gs, tbuf);
/*
} else {
gbfprintf(file_out, "%s", wpt->description);
}
- if (wpt->gc_data->placer) {
- gbfprintf(file_out, " by %s", wpt->gc_data->placer);
+ if (!wpt->gc_data->placer.isEmpty()) {
+ gbfprintf(file_out, " by %s", wpt->gc_data->placer.toUtf8().data());
}
}
gbfprintf(file_out, "</p></td>\n");
gbfprintf(file_out, "<p class=\"gpsbabeldesclong\">%s</p>\n", tmpstr);
xfree(tmpstr);
}
- if (wpt->gc_data->hint) {
+ if (!wpt->gc_data->hint.isEmpty()) {
char* hint = NULL;
if (html_encrypt) {
hint = rot13(wpt->gc_data->hint);
} else {
- hint = xstrdup(wpt->gc_data->hint);
+ hint = xstrdup(wpt->gc_data->hint.toUtf8().data());
}
gbfprintf(file_out, "<p class=\"gpsbabelhint\"><strong>Hint:</strong> %s</p>\n", hint);
xfree(hint);
kml_write_data_element("gc_name", waypointp->url_link_text);
}
- if (waypointp->gc_data->placer) {
+ if (!waypointp->gc_data->placer.isEmpty()) {
kml_write_data_element("gc_placer", waypointp->gc_data->placer);
}
char* shortname;
char* cname = NULL;
const char* ctype = NULL;
- char* placer = NULL;
+ QString placer;
char* lfounddate = NULL;
char* placeddate = NULL;
0 : waypointp->altitude);
append(obuf, shortname);
append(obuf, cname);
- append(obuf, placer);
- append(obuf, waypointp->gc_data->hint);
+ append(obuf, placer.toUtf8().data());
+ append(obuf, waypointp->gc_data->hint.toUtf8().data());
append(obuf, ctype);
append(obuf, placeddate);
append(obuf, lfounddate);
docprintf(10+strlen(stripped_html), "\n%s\n", stripped_html);
xfree(stripped_html);
}
- if (wpt->gc_data->hint) {
+ if (!wpt->gc_data->hint.isEmpty()) {
char *hint = NULL;
if (palm_encrypt) {
hint = rot13(wpt->gc_data->hint);
} else {
- hint = xstrdup(wpt->gc_data->hint);
+ hint = xstrdup(wpt->gc_data->hint.toUtf8().data());
}
docprintf(10+strlen(hint), "\nHint: %s\n", hint);
xfree(hint);
}
DateTime(QDate date, QTime time) : QDateTime(date, time) { }
+ DateTime(QDateTime dt) : QDateTime(dt) { }
// Handle time_tm tm = wpt->creation_time;
if (strcmp(wpt->description, wpt->shortname)) {
gbfprintf(file_out, "%s", wpt->description);
- if (wpt->gc_data->placer) {
- gbfprintf(file_out, " by %s", wpt->gc_data->placer);
+ if (!wpt->gc_data->placer.isEmpty()) {
+ gbfprintf(file_out, " by %s", wpt->gc_data->placer.toUtf8().data());
}
}
if (wpt->gc_data->terr) {
gbfprintf(file_out, "\n%s\n", stripped_html);
xfree(stripped_html);
}
- if (wpt->gc_data->hint) {
+ if (!wpt->gc_data->hint.isEmpty()) {
char *hint = NULL;
if (txt_encrypt) {
hint = rot13(wpt->gc_data->hint);
} else {
- hint = xstrdup(wpt->gc_data->hint);
+ hint = xstrdup(wpt->gc_data->hint.toUtf8().data());
}
gbfprintf(file_out, "\nHint: %s\n", hint);
xfree(hint);
if (gc_data->last_found) {
gb_setbit(&unicsv_outp_flags, fld_gc_last_found);
}
- if (gc_data->placer && *gc_data->placer) {
+ if (!gc_data->placer.isEmpty()) {
gb_setbit(&unicsv_outp_flags, fld_gc_placer);
}
if (gc_data->placer_id) {
gb_setbit(&unicsv_outp_flags, fld_gc_placer_id);
}
- if (gc_data->hint && *gc_data->hint) {
+ if (!gc_data->hint.isEmpty()) {
gb_setbit(&unicsv_outp_flags, fld_gc_hint);
}
}
vcf_print(s);
xfree(s);
} else {
- vcf_print(wpt->gc_data->hint);
+ vcf_print(wpt->gc_data->hint.toUtf8().data());
}
gbfprintf(file_out, "\nEND:VCARD\n");
tmp->gc_data->exported = wpt->gc_data->exported;
tmp->gc_data->last_found = wpt->gc_data->last_found;
tmp->gc_data->placer_id = wpt->gc_data->placer_id;
+ tmp->gc_data->desc_short.utfstring = wpt->gc_data->desc_short.utfstring;
tmp->gc_data->desc_short.is_html = wpt->gc_data->desc_short.is_html;
+ tmp->gc_data->desc_long.utfstring = wpt->gc_data->desc_long.utfstring;
tmp->gc_data->desc_long.is_html = wpt->gc_data->desc_long.is_html;
tmp->gc_data->favorite_points = wpt->gc_data->favorite_points;
- tmp->gc_data->desc_short.utfstring = wpt->gc_data->desc_short.utfstring;
- tmp->gc_data->desc_long.utfstring = wpt->gc_data->desc_long.utfstring;
-
- if (wpt->gc_data->placer) {
- tmp->gc_data->placer = xstrdup(wpt->gc_data->placer);
- }
- if (wpt->gc_data->hint) {
- tmp->gc_data->hint = xstrdup(wpt->gc_data->hint);
- }
- if (wpt->gc_data->personal_note) {
- tmp->gc_data->personal_note = xstrdup(wpt->gc_data->personal_note);
- }
+ tmp->gc_data->placer = wpt->gc_data->placer;
+ tmp->gc_data->hint = wpt->gc_data->hint;
+ tmp->gc_data->personal_note = wpt->gc_data->personal_note;
}
/*
if (wpt->gc_data != &empty_gc_data) {
geocache_data *gc_data = (geocache_data *)wpt->gc_data;
- if (gc_data->placer) {
- xfree(gc_data->placer);
- }
- if (gc_data->hint) {
- xfree(gc_data->hint);
- }
- if (gc_data->personal_note) {
- xfree(gc_data->personal_note);
- }
delete gc_data;
}
fs_chain_destroy(wpt->fs);